Skip to content

Firefly-1980: firefly standalone installation#1962

Draft
robyww wants to merge 1 commit into
devfrom
FIREFLY-1980-standalone
Draft

Firefly-1980: firefly standalone installation#1962
robyww wants to merge 1 commit into
devfrom
FIREFLY-1980-standalone

Conversation

@robyww
Copy link
Copy Markdown
Contributor

@robyww robyww commented May 19, 2026

Firefly-1980: create a user installable standalone firefly

Testing

  • install firefly on your machine
  • create a install directory
curl https://raw.githubusercontent.com/Caltech-IPAC/firefly/refs/heads/FIREFLY-1980-standalone/standalone/remoteInstall.sh | bash
  • start the server ./startFirefly
  • it should open the web browser

Information

  • workarea and logs are under ~/.firefly
    • log files firefly.log and application.log
  • installation including webapp dir is where ever you installed firefly
  • if you want to change the port edit ~/.firefly/port.txt
  • add java start up parameters ~/.firefly/user_ops.sh
  • graphics are not final but I need a placeholder

Todo

  • End user documentation
  • add -help to install.sh and startFireflyServer.sh
  • change temporary PR branch endpoints before merge
  • maybe uninstall script?
  • gradle: fix dependency
  • gradle: put dependencies in local mavin

@robyww robyww added this to the 2026.2 milestone May 19, 2026
@robyww robyww self-assigned this May 19, 2026
@robyww robyww force-pushed the FIREFLY-1980-standalone branch from 78a2cfa to c46648e Compare May 19, 2026 21:58
@robyww robyww force-pushed the FIREFLY-1980-standalone branch from c46648e to 5a6913f Compare May 20, 2026 15:04
Copy link
Copy Markdown
Contributor

@loitly loitly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks good. Definitely good enough for phase 1. Below are my feedbacks.

Instead of a new standalone directory under firefly repo root, have you considered moving these scripts into the existing bin directory?

Rather than remoteInstall.sh, maybe call it get-firefly.

Instead of “create an install directory,” install.sh should prompt for an installation location, defaulting to the current directory.

I would move startFirefly into the firefly/bin directory. There will likely be additional scripts added later, and we could either add this directory to the user’s PATH automatically or instruct the user to do so during installation.

I’d also think about how to organize the files under ~/.firefly. Maybe place them under a config directory so files are not hanging directly off .firefly.

Copy link
Copy Markdown
Contributor

@loitly loitly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even though this is already in the firefly repo, we still prefix it with “firefly” everywhere. Perhaps instead of “src/firefly_standalone”, it should simply be “standalone” or “application”.

Comment on lines +111 to +115
// tomcat for standalone
implementation 'org.apache.tomcat.embed:tomcat-embed-core:11.0.21'
implementation 'org.apache.tomcat.embed:tomcat-embed-websocket:11.0.21'
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper:11.0.21'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this still necessary when firefly_standalone dependencies are already defined?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will remove them

@robyww
Copy link
Copy Markdown
Contributor Author

robyww commented May 21, 2026

@loitly firefly_standalone was you idea but I am happy the change it to standalone

@robyww
Copy link
Copy Markdown
Contributor Author

robyww commented May 21, 2026

Instead of a new standalone directory under firefly repo root, have you considered moving these scripts into the existing bin directory?

sure

Rather than remoteInstall.sh, maybe call it get-firefly.

good idea

Instead of “create an install directory,” install.sh should prompt for an installation location, defaulting to the current directory.

many install scripts no longer prompt. they go for simple. For example install java.

I would move startFirefly into the firefly/bin directory. There will likely be additional scripts added later, and we could either add this directory to the user’s PATH automatically or instruct the user to do so during installation.

yea, I suppose, I was not quite sure where to put it. I wanted a script that the user could copy to other places. If it is in the bin I guess the install script needs to make a clear message to the user.

I’d also think about how to organize the files under ~/.firefly. Maybe place them under a config directory so files are not hanging directly off .firefly.

I experimented with stuff like that. After that, I purposely tried to make it more shallow I am not sure of the point of making it deeper.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants